home *** CD-ROM | disk | FTP | other *** search
- #ifndef __UTILS_H
- #define __UTILS_H
-
- #include <intuition/intuition.h>
- #include <devices/timer.h>
- #include <exec/ports.h>
- #include <dos/dos.h>
- #include <dos/dosextens.h>
- #include <libraries/notifyintuition.h>
- #include <workbench/startup.h>
-
- #define ERRORNOMEM 1
- #define ERRORNOPORT 2
- #define ERRORUNKNOWNCMD 3
- #define OK -1
- #define TITLE "BackClock V2.0"
-
-
- struct RGB {
- UBYTE R,
- G,
- B,
- pad ;
- ULONG reg ;
- } ;
- #define NUM_COLORS 4
- #define COL_SEC 0
- #define COL_MIN 1
- #define COL_HEU 2
- #define COL_TIC 3
-
- #define IDCMP IDCMP_CHANGEWINDOW|IDCMP_NEWSIZE
-
- struct specWin {
- ULONG posX ;
- ULONG posY ;
- ULONG width ;
- ULONG height ;
- struct RGB cmap[NUM_COLORS] ;
- } ;
-
- struct prjSt {
- struct Window * win ; // remplit par OpenWindow()
- struct DateStamp * date ; // date au format interne
- char datestr[10] ; // date au format ASCII
- UBYTE heu ; // heure
- UBYTE min ; // minute
- UBYTE sec ; // secondes
- UBYTE oldH ; // derniere heure affichée
- UBYTE oldM ; // " min "
- UBYTE oldS ; // " sec "
- struct timerequest * treq ; // requete I/O timer.device
- struct MsgPort * trport ; // port rply timer
- UBYTE timerok ; // ouverture timer ok
- struct IntNotifyRequest * Notify ; // requete notify
- struct MsgPort * notifyPort ; // port reply notify
- struct specWin backWin ;
- ULONG lastError ;
- struct Screen * wb ; // lock to WB
- struct RastPort * RP1 ; // tmp rp 1
- struct RastPort * RP2 ; // tmp rp 2
- } ;
- struct backMsg {
- struct Message execmsg ;
- ULONG Class ;
- APTR ptrPrj ; // pointeur sur prj à retourner lors d'un BC_GetPrj
- LONG error ; // contient l'erreur de retour
- } ;
-
- /* differentes classes
- */
- #define BC_Quit 0x00000001 // recu demande d'arret externe
- #define BC_GetPrj 0x00000002 // recu l'envoi adresse prj
- #define BC_Refresh 0x00000003 // recu demande de rafraichissement
- #define BC_SaveConf 0x00000004 // reçu demande de sauvegarde prefs
- #define BC_UseConf 0x00000005 // reçu demande d'utiliser nouvelle prefs
- #define BC_SetWindow 0x00000006 // pos & taille window changées
- #define BC_RefreshColors 0x00000007 // colors changed
-
- typedef prjSt idWin ;
-
- // gadget systemes
- struct Gadget szgdg = {
- NULL,
- 0,0, 100, 15,
- GFLG_GADGHNONE,
- GACT_RELVERIFY,
- GTYP_WDRAGGING,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- 10,
- NULL
- } ;
- struct Gadget tagdg = {
- NULL,
- 0,0, 0, 0,
- GFLG_GADGHNONE,
- GACT_RELVERIFY,
- GTYP_SIZING,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- 11,
- NULL
- } ;
- ULONG top = NULL ;
-
-
- // proto
- idWin * init(WBArg *) ;
- void close(idWin *) ;
- void getDate(idWin *) ;
- void writeDate(idWin *) ;
- extern void DateToByte(register __a0 char *, register __a1 idWin *) ;
- void initwin(idWin * prj) ;
- void processwin(idWin* prj) ;
- void effacer(idWin * prj) ;
- void retracer(idWin * prj) ;
- void runtimer(idWin * prj) ;
- void setArgs(idWin * prj, LONG * args) ;
- int exists() ;
- void ez_req(UBYTE *, UBYTE *, UBYTE *, APTR) ;
- #endif
-